The present invention relates to apparatus and methods for modeling interactions between various entities, such as a customer and a telephone call center. More specifically, it relates to mechanisms for predicting the results of particular decisions that each specify one or more actions to be performed with respect to a particular entity or a subset of entities.
Prediction modeling is generally used to predict the outcome of numerous decisions which could be implemented. In a most simplistic example, a prediction model may predict the likelihood (or probability) of a particular result or outcome occurring if a particular action was performed (e.g., a particular decision is carried out) under one or more specific conditions. In a more complex scenario, a prediction model may predict the probabilities of a plurality of outcomes for a plurality of actions being performed under various conditions.
In a specific application, prediction modeling may be used to decide which specific interactions are to be taken by a company's service or product sales center (e.g., website or telephone call center) when a customer is interacting with such center. The prediction modeling helps the company select an interaction that is likely to result in a desirable goal being met. Automated sales centers, for example, typically provide an automated process which attempts to match potential or current customers with desirable products and/or services. In the case of websites, the sales center may be fully automated. In the case of call centers, human customer-service agents in conjunction with automated interactive voice recognition (IVR) processes or agents are often used.
For example, a customer may go to a particular website of a company which specializes in selling automobiles. From the company's perspective, the company may have a goal of maximizing automobile revenue to each customer who interacts with its website or telephone call center. When a customer initially accesses the website or call center, it may be possible to select any number of sales promotions to present to the customer (e.g., via a web page or communicated by a human sales agent). Prediction models may be used to determine which sale promotion to present to a given customer to more likely achieve the goal of maximizing sales revenue. For instance, it may be determined that a particular type of customer is highly likely to buy a particular type of automobile if presented with a sales presentation for such item. In another example, another goal may be to maximize customer satisfaction, and the prediction model may determine that a particular customer is likely to be most satisfied if allowed to communicate with a particular service agent or be presented with a particular set of one or more IVR options.
Prediction models have in the past been designed offline. That is, typically a group of experts is set up in the company to attempt to determine which customers are the most likely to buy products or services that they have to sell, how to retain current customers, and what is the best inventory of goods and/or services to provide for different customer groups. In order to perform the modeling tasks, extensive research is often undertaken, including buying expensive reports and surveys from consulting companies and the like.
There has been a recent trend towards the creation of self-learning prediction models. That is, there have been efforts to develop prediction models that do not require the development of preset rules or biases as is required by offline modeling. Self-learning models observe the interactions of customers with the system and adjust themselves accordingly. However, adjustment of the models tends to be data-intensive and, as such, the models typically are not adjusted in real-time. Instead, downtime is typically scheduled to update the models. The downtime is usually done during non-peak hours but still has the potential to inconvenience customers who happen to engage a business during the same period, as well as interfering with revenue generation.
Additionally, the prediction model and execution of such prediction model typically consume a significant amount of processing and storage resources. For example, the prediction model itself may use a large number of inputs which are then correlated together to produce prediction results. While some of the large number of inputs may be relevant and significantly contribute to the prediction results, other inputs are irrelevant to generation of the prediction results. The storage used for storing these irrelevant inputs may be significant and represent an inefficient use of resources. Also, execution of a prediction model that has a large number of irrelevant inputs can consume a significant amount of processing resources. Another problem with executing a prediction model with a large number of statistically insignificant inputs is that such execution contributes to the amount of noise results produced by the prediction model. Thus, it may be difficult to filter the noise results from the important results produced by a prediction model if there is a high number of irrelevant inputs. When a high number of irrelevant inputs are used for running the prediction model, a significant percentage of the processing resources must be used for consideration of the high number of inputs, at the expense of executing algorithms for considering different or alternative action paths which may result in a wider sampling of prediction results to thereby facilitate decision making.
Although the existing prediction models work well in many application, there are continuing efforts to develop improved mechanisms for efficiently updating prediction models while reducing interference with the interactions on which the prediction modeling outcomes are applied. Additionally, it would be preferable to minimize the resource overhead for retaining and executing such prediction models and their plurality of inputs.